<?php
namespace App\Api;

use PhalApi\Api;
use App\Domain\Label as Domain_Label;
/**
 * 评价
 */

class Label extends Api {

	public function getRules() {
        return array(
            'setEvaluate' => array(
                'uid' => array('name' => 'uid', 'type' => 'int', 'desc' => '用户ID'),
				'token' => array('name' => 'token', 'type' => 'string', 'desc' => '用户token'),
				'liveuid' => array('name' => 'liveuid', 'type' => 'int', 'desc' => '主播ID'),
                'evaluateids' => array('name' => 'evaluateids', 'type' => 'string', 'default'=>'', 'desc' => '标签ID，多个标签用逗号拼接'),
            ),
            
            'getEvaluateList' => array(
				'liveuid' => array('name' => 'liveuid', 'type' => 'int', 'desc' => '主播ID'),
                'p' => array('name' => 'p', 'type' => 'string', 'default'=>'0', 'desc' => '页码'),
            ),
            
            'getEvaluateCount' => array(
				'liveuid' => array('name' => 'liveuid', 'type' => 'int', 'desc' => '主播ID'),
            ),
        );
	}
	
    /**
     * 评价标签
     * @desc 用于获取评价标签列表
     * @return int code 操作码，0表示成功
     * @return array info 
     * @return array info[0]['good'] 好评列表
     * @return string info[0]['good'][].id 标签ID
     * @return string info[0]['good'][].name 名称
     * @return string info[0]['good'][].colour 颜色
     * @return array info[0]['bad'] 差评列表
     * @return string info[0]['bad'][].id 标签ID
     * @return string info[0]['bad'][].name 名称
     * @return string info[0]['bad'][].colour 颜色
     * @return string msg 提示信息
     */
	public function getEvaluate() {
        $rs = array('code' => 0, 'msg' => '', 'info' => array());
        
        $info = [
            'good'=>[],
            'bad'=>[],
        ];
        
        $domain = new Domain_Label();
        
        $list = $domain->getEvaluate();
        
        foreach($list as $k=>$v){
            $type=$v['type'];
            unset($v['type']);
            if($type==1){
                $info['good'][]=$v;
            }else{
                $info['bad'][]=$v;
            }
        }
        
        $rs['info'][0] = $info;
		
        return $rs;
	}


    /**
     * 评价主播
     * @desc 用于用户对主播进行评价
     * @return int code 操作码，0表示成功
     * @return array info 
     * @return string msg 提示信息
     */
	public function setEvaluate() {
        $rs = array('code' => 0, 'msg' => '', 'info' => array());
        
        $uid=\App\checkNull($this->uid);
		$token=\App\checkNull($this->token);
		$liveuid=\App\checkNull($this->liveuid);
		$evaluateids=\App\checkNull($this->evaluateids);
        
        if($uid<=0 || $token=='' || $liveuid<=0 || $evaluateids==''){
            $rs['code'] = 1001;
			$rs['msg'] = \PhalApi\T('信息错误');
			return $rs;
        }
        
        $checkToken=\App\checkToken($uid,$token);
		if($checkToken==700){
			$rs['code'] = $checkToken;
			$rs['msg'] = \PhalApi\T('您的登陆状态失效，请重新登陆！');
			return $rs;
		}
        
//        $isauth=\App\isAuthorAuth($liveuid);
//        if(!$isauth){
//            $rs['code'] = 1002;
//			$rs['msg'] = \PhalApi\T('对方不是主播，不能评价');
//			return $rs;
//        }
        
        $domain = new Domain_Label();
        
        $result = $domain->setEvaluate($uid,$liveuid,$evaluateids);
		
        return $result;
	}


    /**
     * 评价列表
     * @desc 用于获取某主播的评价列表
     * @return int code 操作码，0表示成功
     * @return array info 
     * @return string info[].uid 评价用户ID
     * @return string info[].user_nickname 昵称
     * @return string info[].avatar 头像
     * @return array info[].label 标签列表
     * @return string info[].label[].name 名称
     * @return string info[].label[].colour 颜色
     * @return string msg 提示信息
     */
	public function getEvaluateList() {
        $rs = array('code' => 0, 'msg' => '', 'info' => array());
        
        
        $liveuid=\App\checkNull($this->liveuid);
		$p=\App\checkNull($this->p);
        
        if($liveuid <=0){
            $rs['code'] = 1001;
			$rs['msg'] = \PhalApi\T('信息错误');
			return $rs;
        }
        
        // $isauth=isAuthorAuth($liveuid);
        // if(!$isauth){
			// return $rs;
        // }
        
        $domain = new Domain_Label();
        
        $list = $domain->getEvaluateList($liveuid,$p);
        
        $rs['info'] = $list;
		
        return $rs;
	}

    /**
     * 评价统计
     * @desc 用于获取某主播的评价统计
     * @return int code 操作码，0表示成功
     * @return array info 
     * @return string info[].name 名称
     * @return string info[].colour 颜色
     * @return string info[].nums 数量
     * @return string msg 提示信息
     */
	public function getEvaluateCount() {
        $rs = array('code' => 0, 'msg' => '', 'info' => array());

        $liveuid=\App\checkNull($this->liveuid);
        
        if($liveuid <=0){
            $rs['code'] = 1001;
			$rs['msg'] = \PhalApi\T('信息错误');
			return $rs;
        }
        
        // $isauth=isAuthorAuth($liveuid);
        // if(!$isauth){
			// return $rs;
        // }
        
        $domain = new Domain_Label();
        
        $list = $domain->getEvaluateCount($liveuid);
        
        $rs['info'] = $list;
		
        return $rs;
	}
    
    
    
    
}
